package com.central.product.service

import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.central.common.entity.DrawProductGroup
import com.central.common.model.CommonResult
import com.central.common.model.PageVo
import com.central.common.service.ISuperService
import com.central.product.pojo.drawProductGroup.*

/**
 * @author  fly
 * @date  2021/5/28 15:07
 * @version 1.0
 */
interface DrawProductGroupService : ISuperService<DrawProductGroup> {


    /**
     * 保存抽奖组
     */
    fun saveDrawProductGroup(productDto: DrawProductDto): CommonResult<Any>

    /**
     * 移除抽奖组
     */
    fun removeDrawProductGroup(ids: String): CommonResult<Boolean>

    /**
     * 修改抽奖组
     */
    fun updateDrawProductGroup(productDto: DrawProductDto): CommonResult<Any>

    /**
     * 获取抽奖组列表
     */
    fun getDrawProductList(productGroupSearchDto: DrawProductGroupSearchDto, pageVo: PageVo): CommonResult<Page<DrawProductListVo>>

    /**
     * 获取抽奖组详情信息
     */
    fun getDrawProductGroupDetail(id: Long): CommonResult<DrawProductDetailVo>

    /**
     * 抽奖一次获取的结果
     */
    fun getDrawResult(drawProductGroupId: Long): CommonResult<DrawProductVo>
}
